/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package elev.sim;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;

/**
 *
 * @author jarzynam
 */
public class Log {

    static String log;
    Date date;
    Calendar calendar;
    static Statystyki statystyki;

    Log() {
        log = new String();
        date = new Date();
        statystyki = new Statystyki();
        log = now("yy-MM-dd EE KK:mm:ss") + " nowa sesja\n";
    }

    public static void addMessage(String string) {
        log += now("[KK:mm:ss]") + " " + string + "\n";
    }

    public String toString() {
        return log;
    }

    public static void pasazerowNaPietrze(ArrayList<Integer> pasazerowie) {
        int i = 0;
        for (Integer iloscPasazerow : pasazerowie) {
            addMessage("pietro: " + i + " ilosc pasazerow do zabrania:" + iloscPasazerow);
            i++;
        }
    }

    public static void pietroWindy(int numerWindy, int pietro) {
        addMessage("winda " + numerWindy + " jedzie na pietro " + pietro);
    }

    public static void wysadzPasazerow(int numerWindy, int pietro, int iloscPasazerow) {
        addMessage("winda " + numerWindy + " wysadzila " + iloscPasazerow + " pasazerow na pietre " + pietro);
    }

    public static void wezPasazerow(int numerWindy, int pietro, int iloscPasazerow) {
        addMessage("winda " + numerWindy + " wziela " + iloscPasazerow + " pasazerow z pietra " + pietro);
    }

    public static void koniecPracyWindy(int numerWindy) {
        addMessage("winda " + numerWindy + " zakonczyla rozwozenie pasazerow");
    }

    public static void koniecSesji() {
        log += now("[K:m:s]") + " " + "koniec sesji \n"
                + statystyki.toString() + "\n";
    }
    /*
     * pobieranie najnowszej daty, @param dateFormat - format daty, uzywane: y
     * Year, m Month, F Day of week in month, E Day in week, K Hour in
     * day(1-24), m minute in hour, s second in minute
     */

    public static String now(String dateFormat) {
        Calendar cal = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
        return sdf.format(cal.getTime());
    }
}
